package com.example.electricbicycle.service;

import com.example.electricbicycle.dao.SalesAdminDAO;
import com.example.electricbicycle.dao.SalesAdminDAOImpl;
import com.example.electricbicycle.po.SalesAdmin;

import java.util.List;

public class SalesAdminServiceImpl implements SalesAdminService{
    private final SalesAdminDAO saleDAO = new SalesAdminDAOImpl(); // 依赖 DAO 层

    @Override
    public List<SalesAdmin> getAllSales() {
        return saleDAO.getAllSales(); // 调用 DAO 层方法
    }

    @Override
    public SalesAdmin getSaleById(int id) {
        return saleDAO.getSaleById(id); // 调用 DAO 层方法
    }

    @Override
    public boolean addSale(SalesAdmin sale) {
        // 业务逻辑校验（可选）
        if (sale.getCustomerId() == null || sale.getUserId() == null) {
            throw new IllegalArgumentException("客户ID和销售员ID不能为空");
        }
        return saleDAO.addSale(sale); // 调用 DAO 层方法
    }

    @Override
    public boolean updateSale(SalesAdmin sale) {
        // 业务逻辑校验（可选）
        if (sale.getId() == null) {
            throw new IllegalArgumentException("订单ID不能为空");
        }
        return saleDAO.updateSale(sale); // 调用 DAO 层方法
    }

    @Override
    public boolean deleteSale(int id) {
        // 业务逻辑校验（可选）
        if (id <= 0) {
            throw new IllegalArgumentException("订单ID无效");
        }
        return saleDAO.deleteSale(id); // 调用 DAO 层方法
    }
}
